<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Date Helper : CodeIgniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker_th.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>คู่มือการใช้งาน CodeIgniter เวอร์ชั่น 1.7.2</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">หน้าตารางเนื้อหา</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.in.th/">CodeIgniter.in.th</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a> &nbsp;&#8250;&nbsp;
Date Helper
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.in.th/user_guide/" />ค้นหาคู่มือการใช้งาน&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="ค้นหา" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Date Helper</h1>

<p>ไฟล์  Date Helper มีฟังก์ชันที่ใช้ทำงานกับวันที่</p>


<h2>เรียกใช้งานผู้ช่วยนี้</h2>

<p>ผู้ช่วยนี้จะถูกเรียกใช้งานได้จากโค้ดต่อไปนี้</p>
<code>$this->load->helper('date');</code>


<p>ต่อไปจะกล่าวถึงฟังชั่นที่มีให้ใช้งาน</p>

<h2>now()</h2>

<p>คืนค่าเวลา ณ ปัจจุบันเป็นเวลาประทับแบบ Unix โดยอ้างอิงจากเวลาของเซิร์ฟเวอร์คุณซึ่งเป็นเวลาท้องถิ่งหรือ GMT โดยขึ้นอยู่กับ "เวลาที่อ้างอิง"
ที่ถูกตั้งค่าอยู่ในไฟล์ตั้งค่า (config file) ถ้าคุณไม่ได้ตั้งใจจะตั้งเวลาของคุณให้อ้างอิงตาม GMT(ซึ่งคุณจะทำถ้าคุณต้องการให้ผู้ใช้งานของเว็บคุณสามารถตั้งค่าเวลา timezone ได้เอง) ไม่มีประโยชน์ที่จะใช้ฟังก์ชันนี้เนื้อฟังก์ชัน time()</p>




<h2>mdate()</h2>

<p>ฟังก์ชันนี้เหมือนกับฟังก์ชัน <a href="http://www.php.net/date">date()</a> ของ PHP ยกเว้นว่ามันยอมให้คุณใช้รูปแบบโค้ดวันที่แบบ MySQL  โดยโค้ดแต่ละตัวอักษรจะมีตัวนำหน้าเป็น % อย่างเช่น %Y %m %d ฯลฯ</p>

<p>ประโยชน์ที่ใช้วันที่แบบนี้ก็คือคุณไม่ต้องเป็นห่วงในการยกเว้นตัวอักษรที่ไม่ใช่วันที่โค้ด อย่างปกติที่คุณต้องทำในฟังก์ชัน date() ยกตัวอย่างเช่น</p>

<code>$datestring = "Year: %Y Month: %m Day: %d - %h:%i %a";<br />
$time = time();<br />
<br />
echo mdate($datestring, $time);</code>

<p>ถ้าเวลาประทับไม่ถูกใช้ในพารามิเตอร์ที่สองเวลาปัจจุบันจะถูกใช้แทนโดยทันที</p>


<h2>standard_date()</h2>

<p>ให้คุณสร้างสตริงวันที่จากหนึ่งในหลายๆรูปแบบมาตรฐาน ตัวอย่างเช่น</p>

<code>
$format = 'DATE_RFC822';<br />
$time = time();<br />
<br />
echo standard_date($format, $time);
</code>

<p>พารามิเตอร์ตัวแรกต้องใส่รูปแบบ พารามิเตอร์ที่สองต้องใส่วันที่เป็นเวลาประทับแบบ Unix</p>

<p>Supported formats:</p>

<table cellpadding="0" cellspacing="1" border="0" style="width:100%" class="tableborder">
	<tr>
		<th>ค่าคงที่</th>
		<th>คำอธิบาย</th>
		<th>ตัวอย่าง</th>
	</tr>
	<tr>	
		<td>DATE_ATOM</td>
		<td>Atom</td>
		<td>2005-08-15T16:13:03+0000</td>
	</tr>
	<tr>
		<td>DATE_COOKIE</td>
		<td>HTTP Cookies</td>
		<td>Sun, 14 Aug 2005 16:13:03 UTC</td>
	</tr>
	<tr>
		<td>DATE_ISO8601</td>
		<td>ISO-8601</td>
		<td>2005-08-14T16:13:03+0000</td>
	</tr>
	<tr>
		<td>DATE_RFC822</td>
		<td>RFC 822</td>
		<td>Sun, 14 Aug 2005 16:13:03 UTC</td>
	</tr>
	<tr>
		<td>DATE_RFC850</td>
		<td>RFC 850</td>
		<td>Sunday, 14-Aug-05 16:13:03 UTC</td>
	</tr>
	<tr>
		<td>DATE_RFC1036</td>
		<td>RFC 1036</td>
		<td>Sunday, 14-Aug-05 16:13:03 UTC</td>
	</tr>
	<tr>
		<td>DATE_RFC1123</td>
		<td>RFC 1123</td>
		<td>Sun, 14 Aug 2005 16:13:03 UTC</td>	 
	</tr>
	<tr>
		<td>DATE_RFC2822</td>
		<td>RFC 2822</td>
		<td>Sun, 14 Aug 2005 16:13:03 +0000</td>
	</tr>
	<tr>
		<td>DATE_RSS</td>
		<td>RSS</td>
		<td>Sun, 14 Aug 2005 16:13:03 UTC</td>
	</tr>
	<tr>
		<td>DATE_W3C</td>
		<td>World Wide Web Consortium</td>
		<td>2005-08-14T16:13:03+0000</td>
	</tr>
</table>

<h2>local_to_gmt()</h2>

<p>เอาวันประทับแบบ Unix เป็นค่านำเข้าและส่งค่าคืนเป็น GMT ตัวอย่างเช่น</p>

<code>$now = time();<br />
<br />
$gmt = local_to_gmt($now);</code>


<h2>gmt_to_local()</h2>

<p>นำวันประทับแบบ Unix (ที่จะถูกอ้างอิงเป็น GMT) เป็นค่านำเข้าและเปลี่ยนค่ามันเป็นวันประทับตามท้องถิ่น โดยขึ้นอยู่กับ
timezone และเวลา Daylight Saving ที่ใส่เข้ามา ตัวอย่างเช่น </p>

<code>
$timestamp = '1140153693';<br />
$timezone  = 'UM8';<br />
$daylight_saving = TRUE;<br />
<br />
echo gmt_to_local($timestamp, $timezone, $daylight_saving);</code>

<p><strong>ข้อสังเกตุ:</strong> สำหรับ timezone ทั้งหมดอยู่ด้านล่างของหน้านี้</p>

<h2>mysql_to_unix()</h2>

<p>เปลี่ยนวันประทับแบบ MySQL  ไปเป็นแบบ ตัวอย่างเช่น </p>

<code>$mysql = '20061124092345'; // หรือ 2006-11-24 09:23:45 ก็ใช้ได้เหมือนกัน<br />
<br />
$unix = mysql_to_unix($mysql);</code>


<h2>unix_to_human()</h2>

<p>เปลี่ยนจากวันประทับ Unix และคืนค่ามันเป็นรูปแบบที่มนุษย์สามารถอ่านออกได้อย่างตัวอย่างนี้</p>

<code>YYYY-MM-DD HH:MM:SS AM/PM</code>

<p>สิ่งนี้เป็นประโยชน์ถ้าคุณต้องการแสดงวันที่ในฟอร์มเพื่อถูกส่งต่อ</p>

<p>วันเวลาสามารถถูกจัดรูปแบบทั้งมีหรือไม่มีวินาทีก็ได้ และมันยังสามารถตั้งค่าเป็นรูปแบบ  European หรือ US ได้ถ้าใส่วันประทับอย่างเดียวมันจะคืนค่าเป็นเวลาโดยไม่มีวินาทีและอยู่ในรูปแบบ U.S. ตัวอย่างเช่น</p>

<code>$now = time();<br />
<br />
echo unix_to_human($now); // U.S. time, no seconds<br />
<br />
echo unix_to_human($now, TRUE, 'us'); // U.S. time with seconds<br />
<br />
echo unix_to_human($now, TRUE, 'eu'); // Euro time with seconds</code>


<h2>human_to_unix()</h2>

<p>ทำงานตรงข้ามกับฟังก์ชันด้านบน  โดยเปลี่ยนจากเวลา "มนุษย์อ่านออก" เป็นเวลาแบบ Unix โดยฟังก์ชันนี้จะเป็นประโยชน์ถ้าคุณรับข้อมูลมาเป็นแบบ "มนุษย์อ่านออก" ที่ถูกส่งมาจากฟอร์ม  จะคืนค่า FALSE (ตรรกะ) ถ้าสตริงที่ส่งไปไม่ถูกจัดอยู่ในรูปแบบที่ถูกต้องที่แสดงดังนต่อไปนี้</p>

<code>$now = time();<br />
<br />
$human = unix_to_human($now);<br />
<br />
$unix = human_to_unix($human);</code>





<h2>timespan()</h2>

<p>เปลี่ยนรูปแบบจากวันประทับแบบ unix เปลี่ยนเป็นตัวอย่างดังนี้</p>

<code>1 Year, 10 Months, 2 Weeks, 5 Days, 10 Hours, 16 Minutes</code>

<p>พารามิเตอร์ตัวแรกจะต้องใส่วันประทับแบบ Unix และพารามิเตอร์ที่สองนั้นต้องใส่วันประทับ Unix ที่มากกว่าตัวแรก  ถ้าตัวที่สองเป็นค่าว่าง มันจะใช้เวลาปัจจุบันแทน จุดประสงค์ทั่วไปสำหรับฟังก์ชันนี้คือแสดงให้รูปว่าเวลาผ่านไปเท่าไรแล้วจากเวลาจุดหนึ่งไปยังอีกจุดหนึ่งตัวอย่างเช่น</p>

<code>$post_date = '1079621429';<br />
$now = time();<br />
<br />
echo timespan($post_date, $now);</code>

<p class="important"><strong>ข้อสังเกตุ:</strong> ตัวอักษรที่ถูกสร้างขึ้นจากฟังก์ชันนี้ พบได้จากไฟล์ภาษาดังนี้ language/&lt;your_lang&gt;/date_lang.php</p>


<h2>days_in_month()</h2>

<p>คืนจำนวนวันของเดือนและปีที่ใส่ไป โดยรองรับปีอธิกสุรทิน ตัวอย่างเช่น</p>
<code>echo days_in_month(06, 2005);</code>

<p>ถ้าพารามิเตอร์สองเป็นค่าว่าง ปีปัจจุบันจะถูกใช้แทน</p>
<h2>timezones()</h2>
<p> นำ timezone ที่ถูกใช้ (สำหรับรายการ timezone ที่ถูกต้องดู &quot;Timezone Reference&quot; ด่านล่าง) และคืนค่าจำนวนชั่วโมงที่แตกต่างจาก UTC.</p>
<p><code>echo timezones('UM5');</code></p>
<p>ฟังก์ชันนี้จะเป็นประโยชน์เมื่อถูกใช้กับ timezone_menu(). </p>
<h2>timezone_menu()</h2>
<p>สร้างเมนูแบบเลือกลงของ timezone อย่างเช่นแบบนี้</p>

<form action="#">
<select name="timezones">
<option value='UM12'>(UTC - 12:00) Enitwetok, Kwajalien</option>
<option value='UM11'>(UTC - 11:00) Nome, Midway Island, Samoa</option>
<option value='UM10'>(UTC - 10:00) Hawaii</option>
<option value='UM9'>(UTC - 9:00) Alaska</option>
<option value='UM8'>(UTC - 8:00) Pacific Time</option>
<option value='UM7'>(UTC - 7:00) Mountain Time</option>
<option value='UM6'>(UTC - 6:00) Central Time, Mexico City</option>
<option value='UM5'>(UTC - 5:00) Eastern Time, Bogota, Lima, Quito</option>
<option value='UM4'>(UTC - 4:00) Atlantic Time, Caracas, La Paz</option>
<option value='UM25'>(UTC - 3:30) Newfoundland</option>
<option value='UM3'>(UTC - 3:00) Brazil, Buenos Aires, Georgetown, Falkland Is.</option>
<option value='UM2'>(UTC - 2:00) Mid-Atlantic, Ascention Is., St Helena</option>
<option value='UM1'>(UTC - 1:00) Azores, Cape Verde Islands</option>
<option value='UTC' selected='selected'>(UTC) Casablanca, Dublin, Edinburgh, London, Lisbon, Monrovia</option>
<option value='UP1'>(UTC + 1:00) Berlin, Brussels, Copenhagen, Madrid, Paris, Rome</option>
<option value='UP2'>(UTC + 2:00) Kaliningrad, South Africa, Warsaw</option>
<option value='UP3'>(UTC + 3:00) Baghdad, Riyadh, Moscow, Nairobi</option>
<option value='UP25'>(UTC + 3:30) Tehran</option>
<option value='UP4'>(UTC + 4:00) Adu Dhabi, Baku, Muscat, Tbilisi</option>
<option value='UP35'>(UTC + 4:30) Kabul</option>
<option value='UP5'>(UTC + 5:00) Islamabad, Karachi, Tashkent</option>
<option value='UP45'>(UTC + 5:30) Bombay, Calcutta, Madras, New Delhi</option>
<option value='UP6'>(UTC + 6:00) Almaty, Colomba, Dhaka</option>
<option value='UP7'>(UTC + 7:00) Bangkok, Hanoi, Jakarta</option>
<option value='UP8'>(UTC + 8:00) Beijing, Hong Kong, Perth, Singapore, Taipei</option>
<option value='UP9'>(UTC + 9:00) Osaka, Sapporo, Seoul, Tokyo, Yakutsk</option>
<option value='UP85'>(UTC + 9:30) Adelaide, Darwin</option>
<option value='UP10'>(UTC + 10:00) Melbourne, Papua New Guinea, Sydney, Vladivostok</option>
<option value='UP11'>(UTC + 11:00) Magadan, New Caledonia, Solomon Islands</option>
<option value='UP12'>(UTC + 12:00) Auckland, Wellington, Fiji, Marshall Island</option>
</select>
</form>

<p>เมนูนี้จะเป็นประโยชน์ถ้าคุณยอมให้สมาชิกเว็บไซต์ของคุณตั้งค่า timezone ถ้องถิ่นเองได้</p>

<p>พารามิเตอร์ตัวแรกยอมให้คุณตั้งค่า "selected" ของเมนู ตัวอย่างเช่นตั้งค่าเป็น Pacific time เป็นค่าปกติจะต้องทำเช่นนี้</p>

<code>echo timezone_menu('UM8');</code>

<p>กรุณาดูเอกสารอ้างอิง timezone ด้านล่างเพื่อดูค่าผลลัพธ์สำหรับเมนูนี้</p>

<p>พารามิเตอร์ที่สองยอมให้คุณตั้งค่าชื่อคลาส  CSS สำหรับเมนูนี้</p>

<p class="important"><strong>ข้อสังเกตุ:</strong> ข้อความที่ใส่อยู่ในเมนูนั้นพบได้ในไฟล์ภาษาที่นี้ language/&lt;your_lang&gt;/date_lang.php</p>



<h2>เอกสารอ้างอิง Timezone</h2>

<p>ตารางดังต่อไปนี้แสดงแต่ละ timezone และสถานที่ของ timezone</p>

<table cellpadding="0" cellspacing="1" border="0" style="width:100%" class="tableborder">
<tr>
<th>Time Zone</th>
<th>Location</th>
</tr><tr>

<td class="td">UM12</td><td class="td">(UTC - 12:00) Enitwetok, Kwajalien</td>
</tr><tr>
<td class="td">UM11</td><td class="td">(UTC - 11:00) Nome, Midway Island, Samoa</td>
</tr><tr>
<td class="td">UM10</td><td class="td">(UTC - 10:00) Hawaii</td>
</tr><tr>
<td class="td">UM9</td><td class="td">(UTC - 9:00) Alaska</td>
</tr><tr>
<td class="td">UM8</td><td class="td">(UTC - 8:00) Pacific Time</td>
</tr><tr>
<td class="td">UM7</td><td class="td">(UTC - 7:00) Mountain Time</td>
</tr><tr>
<td class="td">UM6</td><td class="td">(UTC - 6:00) Central Time, Mexico City</td>
</tr><tr>
<td class="td">UM5</td><td class="td">(UTC - 5:00) Eastern Time, Bogota, Lima, Quito</td>
</tr><tr>
<td class="td">UM4</td><td class="td">(UTC - 4:00) Atlantic Time, Caracas, La Paz</td>
</tr><tr>
<td class="td">UM25</td><td class="td">(UTC - 3:30) Newfoundland</td>
</tr><tr>
<td class="td">UM3</td><td class="td">(UTC - 3:00) Brazil, Buenos Aires, Georgetown, Falkland Is.</td>
</tr><tr>
<td class="td">UM2</td><td class="td">(UTC - 2:00) Mid-Atlantic, Ascention Is., St Helena</td>
</tr><tr>
<td class="td">UM1</td><td class="td">(UTC - 1:00) Azores, Cape Verde Islands</td>
</tr><tr>
<td class="td">UTC</td><td class="td">(UTC) Casablanca, Dublin, Edinburgh, London, Lisbon, Monrovia</td>
</tr><tr>
<td class="td">UP1</td><td class="td">(UTC + 1:00) Berlin, Brussels, Copenhagen, Madrid, Paris, Rome</td>
</tr><tr>
<td class="td">UP2</td><td class="td">(UTC + 2:00) Kaliningrad, South Africa, Warsaw</td>
</tr><tr>
<td class="td">UP3</td><td class="td">(UTC + 3:00) Baghdad, Riyadh, Moscow, Nairobi</td>
</tr><tr>
<td class="td">UP25</td><td class="td">(UTC + 3:30) Tehran</td>
</tr><tr>
<td class="td">UP4</td><td class="td">(UTC + 4:00) Adu Dhabi, Baku, Muscat, Tbilisi</td>
</tr><tr>
<td class="td">UP35</td><td class="td">(UTC + 4:30) Kabul</td>
</tr><tr>
<td class="td">UP5</td><td class="td">(UTC + 5:00) Islamabad, Karachi, Tashkent</td>
</tr><tr>
<td class="td">UP45</td><td class="td">(UTC + 5:30) Bombay, Calcutta, Madras, New Delhi</td>
</tr><tr>
<td class="td">UP6</td><td class="td">(UTC + 6:00) Almaty, Colomba, Dhaka</td>
</tr><tr>
<td class="td">UP7</td><td class="td">(UTC + 7:00) Bangkok, Hanoi, Jakarta</td>
</tr><tr>
<td class="td">UP8</td><td class="td">(UTC + 8:00) Beijing, Hong Kong, Perth, Singapore, Taipei</td>
</tr><tr>
<td class="td">UP9</td><td class="td">(UTC + 9:00) Osaka, Sapporo, Seoul, Tokyo, Yakutsk</td>
</tr><tr>
<td class="td">UP85</td><td class="td">(UTC + 9:30) Adelaide, Darwin</td>
</tr><tr>
<td class="td">UP10</td><td class="td">(UTC + 10:00) Melbourne, Papua New Guinea, Sydney, Vladivostok</td>
</tr><tr>
<td class="td">UP11</td><td class="td">(UTC + 11:00) Magadan, New Caledonia, Solomon Islands</td>
</tr><tr>
<td class="td">UP12</td><td class="td">(UTC + 12:00) Auckland, Wellington, Fiji, Marshall Island</td>
</tr>
</table>


</div>
<!-- END CONTENT -->


<div id="footer">
<p>
หัวข้ออันก่อน:&nbsp;&nbsp;<a href="cookie_helper.html">Cookie Helper</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">บนสุดของหน้า</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
หัวข้อถัดไป:&nbsp;&nbsp;<a href="directory_helper.html">Directory Helper</a>
</p>
<p>คู่มือการใช้งาน CodeIgniter นี้ได้ทำการคัดลอกและดัดแปลงจาก <a href="http://codeigniter.com/user_guide/">CodeIgniter User Guide</a></p><p>
<a href="http://codeigniter.com">CodeIgniter</a>
 ·  Copyright © 2006-2009  · 
<a href="http://ellislab.com/">Ellislab, Inc.</a>
</p>
</div>

</body>
</html>